package ar.edu.unicen.exa.isistan.archassis.view.cases.caseitem;

import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Composite;
import swing2swt.layout.BorderLayout;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.ProgressBar;

public class CasePorcetaje extends Composite {
	private ProgressBar porcentajeProgressBar;
	private Label porcentajeLabel;
	private Label textLabel;

	/**
	 * Create the composite.
	 * @param parent
	 * @param style
	 */
	public CasePorcetaje(Composite parent, String text) {
		super(parent, SWT.NONE);
		setLayout(new BorderLayout(10, 0));
		
		textLabel = new Label(this, SWT.NONE);
		textLabel.setLayoutData(BorderLayout.WEST);
		textLabel.setText(text);
		
		porcentajeLabel = new Label(this, SWT.NONE);
		porcentajeLabel.setLayoutData(BorderLayout.EAST);
		porcentajeLabel.setText("PORCENTAJE");
		
		porcentajeProgressBar = new ProgressBar(this, SWT.NONE);
		porcentajeProgressBar.setLayoutData(BorderLayout.CENTER);
		porcentajeProgressBar.setMaximum(100);
	}
	
	/**
	 * Setea el porcentaje calculandolo desde el valor canónico.
	 * @param v valor entre 0 y 1
	 */
	public void setPorcentaje(float v) {
		int porcentaje = (new Float(v * 100)).intValue();
		getPorcentajeLabel().setText(porcentaje + "%");
		getPorcentajeProgressBar().setSelection(porcentaje);
	}

	@Override
	protected void checkSubclass() {
		// Disable the check that prevents subclassing of SWT components
	}

	protected ProgressBar getPorcentajeProgressBar() {
		return porcentajeProgressBar;
	}
	protected Label getPorcentajeLabel() {
		return porcentajeLabel;
	}

	@Override
	public void setBackground(Color color) {
		super.setBackground(color);
		getPorcentajeProgressBar().setBackground(color);
		getPorcentajeLabel().setBackground(color);
		getTextLabel().setBackground(color);
		
	}
	
	
	protected Label getTextLabel() {
		return textLabel;
	}
}
